var window = floaty.window(
    <frame>
        <button id="action" text="开始" bg="#b2b2b2"/>
    </frame>
);
window.setPosition(0, device.height/2)
setInterval(()=>{}, 1000);

var execution = null;

//记录按键被按下时的触摸坐标
var x = 0, y = 0;
//记录按键被按下时的悬浮窗位置
var windowX, windowY;
//记录按键被按下的时间以便判断长按等动作
var downTime;

window.action.setOnTouchListener(function(view, event){
    switch(event.getAction()){
        case event.ACTION_DOWN:
            x = event.getRawX();
            y = event.getRawY();
            windowX = window.getX();
            windowY = window.getY();
            downTime = new Date().getTime();
            return true;
        case event.ACTION_MOVE:
            //移动手指时调整悬浮窗位置
            window.setPosition(windowX + (event.getRawX() - x),
                windowY + (event.getRawY() - y));
            //如果按下的时间超过5秒判断为长按，退出脚本
            
            if(new Date().getTime() - downTime > 5000){
                exit();
            }

            return true;
        case event.ACTION_UP:
            //手指弹起时如果偏移很小则判断为点击
            if(Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5){
                onClick();
            }
            return true;
    }
    return true;
});

function onClick(){
    if(window.action.getText() == '开始'){
        execution = threads.start(function(){
            toastLog('开始脚本')
            new Function('配置', 配置.fun.getCloudFiles(配置.str.路径+'script.js', 配置.str.密钥))(配置)
        })
        window.action.setText('停止');
    }else{
        if(execution.isAlive()){
            log('如果线程存在的话就停止掉')
            execution.interrupt()
        }
        window.action.setText('开始');
    }
}